#ifndef NOTEBOOK_H
#define NOTEBOOK_H
//  File:         Notebook.h
//  Author:       Scott Nordmann & Lauren Wallace
//  Description:  A class definition for the Notebook.
#include "Note.h"
#include <vector>
#include <string>
#include <fstream>

class Notebook
{
public:
	Notebook();
	Notebook(std::ifstream& ifsave);
	~Notebook();
	void shutDown(std::ofstream& ofsave);

	//you must send it the creators name
	void createNote(const std::string& creator);
	void createNote(Note* not);
	
	Note* createMail(const std::string& creator);
	
	void display();
	
	void viewNote(Note& current);
	void viewNote(Note& current, int prio);
	bool deleteNote(Note& n);
	
	bool tagNote(Tag& currentTag);
	bool tagNote(Tag &currentTag ,const std::string& entryTitle);
	
	bool isEmpty();

private:
	void allNotes();
	void priorityNotes(int prio);
	Note* addingTagDisplay();
	Note* addingTagAllNotes();
	Note* addingTagPriorityNotes(int prio);
	std::vector<Note*> notes;
};
inline bool Notebook::isEmpty()
{
	return notes.empty();
}
#endif